Localized dynamic swarming for automobile accident reduction

ABSTRACT

A method, system, and apparatus to detect when one or more moving vehicles are close to a first vehicle, and to take necessary actions to maintain a minimum distance between vehicles in a dynamic environment by automatic navigation. A computer method and apparatus for automobile accident reduction by maintaining a minimum distance with respect to all nearby vehicles on the road. In addition, methods to synchronously move a group of vehicles on a highway through a swarming action where each vehicle keeps a region immediately around it free of other vehicles while maintaining the speed of the vehicle immediately in front or nearby is also disclosed.

CROSS REFERENCE TO RELATED APPLICATION(S)

The present application is a continuation of and claims the priority ofU.S. patent application Ser. No. 13/340,788, titled “METHOD ANDAPPARATUS FOR AUTOMOBILE ACCIDENT REDUCTION USING LOCALIZED DYNAMICSWARMING”, filed on Dec. 30, 2011.

FIELD OF THE INVENTION

This invention relates to improved methods and apparatus concerningautomobiles and automobile accident prevention.

BACKGROUND OF THE INVENTION

Various methods and apparatus are known for preventing automobileaccidents. Accidents happen when two moving objects collide, or thedistance between two objects reduces to zero, with the “intensity” ofthe accident depending upon vehicle speed, orientation and roadconditions among other things. Going through a red light, acceleratingtowards a post, not stopping at “STOP” signs, can all lead to accidents.For example, running through a red light can cause collision withanother approaching vehicle that has a green light. A method and systemto detect these situations, and take necessary actions to maintain aminimum distance between vehicles in a dynamic environment by automaticnavigation is proposed in this invention. Prior art in this context isthe ABS (Automatic Braking System), now universally adopted in almostall modern vehicles, where depending on the road traction in hostileweather conditions, the onboard computer takes over the brakingprocedure which helps avoid losing control of the vehicle on the road.Mercedes (trademarked), BMW (trademarked), and other companies haveconfigured small radars into the chassis of some of their models tosense the distance to the closest neighbor (vehicle in front) and engagebrakes automatically to avoid a collision.

SUMMARY OF THE INVENTION

One or more embodiments of the present invention relate to a computermethod and apparatus for automobile accident reduction by maintaining aminimum distance with respect to all nearby vehicles on the road.

One or more embodiments of the present invention provides acomputer/micro-processor on board each vehicle which is programmed bycomputer software to create two virtual regions around each vehicle. Thetwo virtual regions may be an inner region such as an elliptical regionspecified by a measure such as a radius, and an outer circle (known asthe swarm circle) of a larger radius. Both regions may be centeredaround each vehicle, completely envelope the each vehicle and move alongwith each vehicle. Using small radars on board and other communicationdevices for a sensing device the on board computer processor or microprocessor is programmed by computer software to determine the distanceand speed of all vehicles (incoming as well as along track) within itsswarm circle and the computer processor or micro processor is programmedto make necessary adjustments and corrections to its own speed andsteering so that no vehicles are allowed to enter within its innerregion. These corrections may include steering left or right inprescribed steps, accelerating, decelerating, or a combination thereof,to keep a particular vehicle's inner region free of any other vehicle orobject. The above steps are done in a periodic manner when the vehicleis in motion in addition to all other routine operations associated witha moving vehicle.

If at any instant other vehicles present in a particular vehicle's swarmcircle are also equipped with similar swarming devices, the computerprocessor of the vehicles within the swarm circle are programmed tocommunicate with each other and a common pre-determined protocol asprogrammed by computer software will decide the combined movement of thevehicles involved in the swarm so as to maintain each of their innerregions free of other vehicles and objects. As the vehicles pass by, newswarming relations are acknowledged through onboard “computerhandshakes” and dynamic course correction is maintained to keep theinner regions of each vehicle free of other objects and vehicles.

In another embodiment of the present invention color sensitive sensorsor other types of sensors detect green/yellow/red lights and theirdistances on the road and convey that information to the onboardcomputer processor that may also have the location information of alltraffic lights from roadside markings, GPS readings and other means. Inthe case when a red light is detected, the onboard computer processor isprogrammed to initiate a routine to bring the vehicle to a completestop, if the driver doesn't begin the “bring to a stop” routine within aprescribed distance to the light. The distance required to bring thevehicle to a complete stop depends on the speed of the vehicle.

In another embodiment of the present invention, sensors on the vehicledetect “STOP” signs on the road side and the onboard computer orcomputer processor is programmed to initiate a “bring to a stop”procedure similar to the one described above, unless the driver does notinitiate the bring to a stop procedure.

In another embodiment of the present invention, sensors on the vehicledetect other non-moving objects such as trees and poles on the road sideand the onboard computer processor is programmed to initiate a “move tothe right, move to the left or bring to a “STOP” procedure so as toavoid the object coming within the inner region of the vehicle.

In another embodiment of the present invention, if other vehiclespresent in a vehicle's swarm circle and moving in the same direction arealso equipped with similar swarming computer devices, these computerscommunicate with each other and a common pre-determined protocol willdecide the combined movement of the vehicles involved in the swarm so asto maintain each of their inner regions free of other vehicles andobjects, and synchronize all the vehicles together so that they move asa pack following a lead vehicle simulating an active forward swarm packsimilar to a flock of birds flying together.

In another embodiment of the present invention, the active swarm conceptcan be propagated across the swarming region of each vehicle, thuslinking vehicles across multiple swarming regions and making all of themeffectively connected together to move as a single pack. As an example,a pack of active forward swarms can be generated from a single firstvehicle on interstate highway “5” in California going south from SanFrancisco to Los Angeles, and as this vehicle cruises along the highway,a second vehicle with the same destination that is within the swarmingcircle of the first vehicle, communicating with the first vehicle andrealizing its destination matches or partially matches with the firstvehicle, adjusting its velocity to match that of the first vehicle andjoins the swarm moving together. As more vehicles are added to thisswarm and they move together, although the various swarm circles ofthese vehicles overlap, as new vehicles are added, it is possible thatthe swarm circles of these latest vehicles do not overlap with the swarmcircles of the first or second vehicle. Nevertheless each vehiclecommunicates with all other vehicles within its swarm and because of theoverlap of various swarms, all vehicles stay connected even acrossnon-overlapping swarms thus forming an active forward swarm. The packcan grow or shrink as other vehicles join or leave the pack. At anypoint, any vehicle can get in or get out of the active forward swarm andmove individually or get off the highway. In particular, in addition tokeeping the inner region of each vehicle free of other vehicles, whenthe vehicles are in an active forward swarm (AFS) mode, they synchronizetheir velocity with their nearest forward neighbor, or lead vehicle. Inaccordance with the present invention, AFS is an option that can beoffered in motor vehicles, similar to the way a cruise control option isoffered in modern day vehicles.

In one or more embodiments of the present invention a method is providedwhich may include measuring a first distance from a first vehicle to asecond vehicle, storing a first quantity indicating the first distancein a first computer memory, measuring a first speed of the secondvehicle with the first sensing device, storing a second quantityindicating the first speed in the first computer memory, and using afirst computer processor to control a first steering control device tosteer the first vehicle either to the left or to the right based atleast in part on the first quantity and the second quantity.

In another embodiment, the method may include using the first computerprocessor to cause the first vehicle to either accelerate or deceleratebased at least in part on the first quantity and the second quantity.

The first computer processor may control the first steering controldevice to steer the first vehicle either to the left or to the right, ina manner to maintain at least a first predetermined distance between thefirst vehicle and the second vehicle.

The first computer processor may cause the first vehicle to accelerateor decelerate in a manner to maintain at least a first predetermineddistance between the first vehicle and the second vehicle.

In another embodiment, the method may include measuring a seconddistance from the first vehicle to a third vehicle using the firstsensing device, storing a third quantity indicating the second distancein the first computer memory, measuring a second speed of the thirdvehicle with the first sensing device, storing a fourth quantityindicating the second speed in the first computer memory, and using thefirst computer processor to control the first steering control device tosteer the first vehicle either to the left or to the right based atleast in part on the third quantity, and the fourth quantity. The methodmay also include using the first computer processor to cause the firstvehicle to either accelerate or decelerate based at least in part on thethird quantity, and the fourth quantity.

In another embodiment, a method is provided which includes measuring asecond distance from the second vehicle to the first vehicle, storing afifth quantity indicating the second distance in a second computermemory, measuring a second speed of the first vehicle with a secondsensing device, storing a sixth quantity indicating the second speed inthe second computer memory; and using a second computer processor tocause the first vehicle to either accelerate or decelerate based atleast in part on the fifth quantity and the sixth quantity.

In another embodiment, the first computer processor may cause a firstcommunication signal to be transmitted from the first vehicle to thesecond vehicle, wherein the first communication signal provides data tothe second vehicle which causes the second vehicle to accelerate ordecelerate or causes the second vehicle to be steered to the right or tothe left.

In another embodiment, when the second vehicle and the first vehicle aretravelling on the same road, and in substantially the same direction;and the second vehicle is ahead of the first vehicle on the road, themethod may further include using the first computer processor to causethe first vehicle to travel at substantially the first speed of thesecond vehicle, so that the first vehicle maintains a substantiallyfixed predetermined distance from the second vehicle while the firstvehicle and the second vehicle are travelling on the road.

In at least one embodiment, an apparatus is provided which may include afirst computer processor; a first sensing device; a first steeringcontrol device; and a first computer memory. The first computerprocessor may be programmed to: cause the first sensing device tomeasure a first distance from a first vehicle to a second vehicle; storea first quantity indicating the first distance in the first computermemory; cause the first sensing device to measure a first speed of thesecond vehicle; store a second quantity indicating the first speed inthe first computer memory; and control the first steering control deviceto steer the first vehicle either to the left or to the right based atleast in part on the first quantity and the second quantity and/or causethe first vehicle to either accelerate using the acceleration device ordecelerate using the deceleration device based at least in part on thefirst quantity and the second quantity.

In another embodiment, the apparatus may include a transmitter. Thefirst computer processor may be programmed to cause a firstcommunication signal to be transmitted from the first vehicle via thetransmitter to the second vehicle, wherein the first communicationsignal provides data to the second vehicle which causes the secondvehicle to accelerate or decelerate and/or which causes the secondvehicle to be steered to the left or to the right.

In another embodiment, the first computer processor may be programmed sothat when the second vehicle and the first vehicle are travelling on thesame road, in substantially the same direction, and the second vehicleis ahead of the first vehicle on the road, the first computer processormay cause the first vehicle to travel at substantially the first speedof the second vehicle, so that the first vehicle maintains asubstantially fixed predetermined distance from the second vehicle whilethe first vehicle and the second vehicle are travelling on the road.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates a moving vehicle with its inner region and swarmcircle shown;

FIG. 1B illustrates a typical road condition with several vehicleswithin each swarm circle with two swarm circles (one solid and onedotted) shown;

FIG. 2 illustrates a typical vehicle measuring the distances andvelocities of all other vehicles within its swarm circle;

FIG. 3 is a flow chart of a routine or method which can be implementedby a computer processor programmed by computer software, wherein theroutine enables localized dynamic swarming of a single vehicle;

FIG. 4 is a flow chart of a minimum distance control method inaccordance with an embodiment of the present invention;

FIG. 5 is a flow chart of a speed/steering control method, which can beimplemented by a computer processor programmed by computer software;

FIG. 6 is a flow chart of a method to bring a moving vehicle to acomplete stop at a red/yellow traffic light;

FIG. 7 is a flow chart of method to bring a moving vehicle to a completestop at a “STOP” sign;

FIG. 8 illustrates a typical road condition with several vehiclesforming an active forward swarm and moving together as a pack with anonboard apparatus of each vehicle measuring the distances and velocitiesof all other vehicles within each vehicle's swarm circle to maintain theminimum distance requirement;

FIG. 9 illustrates a typical road condition with several vehicles acrossmultiple swarms are effectively coupled together to form a single pack;

FIG. 10 shows an onboard apparatus in accordance with an embodiment ofthe present invention which may be located in a vehicle; and

FIG. 11 shows a flow chart of a method in accordance with an embodimentof the present invention.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates a diagram 100 of a moving vehicle 101 with its innerregion 102 and swarm circle 103 shown. The swarm circle 103 has a radiuswhich may be, for example, about one eight of a mile to one mile. Thecenter of the swarm circle 103 may be the center of the vehicle 101. Theinner region 102, may be circular or elliptical, and may have a radiusof r₂. The center of the inner region 102 may be the center of thevehicle 101. In at least one embodiment, the swarm circle 103 and theinner region 102 move with the vehicle 101 so that the center of thevehicle 101 is the center of the swarm circle 103 and the inner region102.

FIG. 10 shows an apparatus 1000 in accordance with an embodiment of thepresent invention which may be located in or onboard a vehicle, such asvehicle 101. The apparatus 1000 includes a sensing device 1002, displaydevice or computer monitor 1004, computer processor 1006, userinteractive device 1008, computer memory 1010, global positioning device1012, a transmitter/receiver 1014, an accelerator 1016, a braking device1018, a steering control 1020, a backward/forward control device 1022,an alarm device 1024, and a speed detector 1026.

The diagram 100 also includes a road 104. The road 104 includes roadside boundaries 107 and 106, and dividing line 108. The dividing line108 may be a solid yellow dividing line (although shown in black andwhite, and dashed in drawings) that may divide traffic going in a firstdirection (such as between 108 and 106) and traffic going in a seconddirection which is opposite the first direction (such as between 108 and107). Alternatively, the dividing line 108 may divide lanes of a highwaymoving in the same direction.

The inner region 102 is a region in which no other vehicles are allowed,except vehicle 101. The computer processor 1006 is programmed bycomputer software stored in computer memory 1010 to prevent vehiclesother than 101 from entering inner region 102, while the vehicle 101 isin motion. The computer processor 1006 does this in an dynamicenvironment as other vehicles move in and out of the swarm circle 103that is moving along with the vehicle of interest, in this case vehicle101, typically with the same velocity of the vehicle 101.

One or more embodiment of the present invention present a method and anapparatus for accident reduction on a vehicle by maintaining a minimumdistance with respect to nearby vehicles on the road either by acting oninputs provided by an onboard computer processor, such as the computerprocessor 1006 in FIG. 10 in the particular vehicle, such as vehicle 101in FIG. 1A or by acting on inputs provided by other computer processorsof other vehicles within its swarm circle. A swarm circle is a virtualcircle, such as swarm circle 103, drawn with its center at the center ofthe vehicle of interest, such as 101 and of certain radius, such as R1,such as fraction of a mile or one mile.

FIG. 1B illustrates a diagram 150 of a typical road condition withvehicles 110, 120, 130, 140, and 160. The diagram 150 also shows a swarmcircle 111 having a radius of r₃ for the vehicle 110, along with aninner region with radius r₄. A swarm circle 132 having a radius r₅ forthe vehicle 130 is also shown. Inner regions or circles 131 and 111 forthe vehicles 130 and 110, respectively, are also shown. The diagram 150also includes a road 170 having boundaries 171 and 172 and a center line173. No other vehicles or objects are allowed within each vehicle'sinner region (disregarding objects located on or within the particularvehicle).

FIG. 11 shows a flow chart 1100 of a method for monitoring a controllinga current vehicle, such as vehicle 110, so that its inner region remainsfree of other vehicles. The method shown by FIG. 11 can be executed bycomputer processor 1006 on board the vehicle 110 and can also beexecuted by a computer processor (analagous to, identical to, or similarto computer processor 1006) on every other vehicle.

The vehicles within each vehicle's swarm circle are actively monitoredby the onboard computer processor (such as computer processor 1006 shownin FIG. 10) by using an onboard radar device to measure the distances tothese vehicles, such as at step 1102 in FIG. 11 and their speeds and/orvelocities, such as at step 1104 in FIG. 1. The distances, speeds,and/or velocities may be determined by an onboard radar device or othersensing device which may be part of sensing device 1002. At step 1106the distances, speeds and/or velocties may be used by a computerprocessor, such as computer processor 1006 to accelerate, decelerate,turn left, or turn right a vehicle such a vehicle 110. These actions,which may be caused by the computer processor 1006 may includeaccelerating a vehicle, such as vehicle 110 by using causing accelerator1016 to accelerate the vehicle 110, decelerating a vehicle, such as veycausing braking device 1018 to be activated, moving left or moving righta vehicle, such as by causing steering control 1020 to be appropriatelyactivated to steer a vehicle, such as 110 to the left or to the right incontrolled steps while monitoring the distances to nearby vehicles,using devices which may be part of sensing device 1002, and using thedistances to nearby vehicles from sensing device 1002 as feedback. Thefeedback in terms of the new distances, speeds, and velocities othervehicles, with reference to a current vehicle (such as 110) is used todecide on the action at a next clock cycle, typically of the computerprocessor 1006. As shown in FIG. 11, a feedback loop is provided, sothat the distances, speeds, and/or velocities are determine again, andthe vehicle (such as 110) it accelerated, decelerated, turned left,and/or turned right depending on the results of the next set ofmeasurements of distances, speeds, and/or velocities.

The swarm circle 112 for vehicle 110 at the specific instant shown inFIG. 1B has two other vehicles within itself—vehicle 120 traveling alongwith vehicle 110, and vehicle 130 traveling in the opposite direction tovehicle 110. Similarly the swarm circle 132 for vehicle 130 at the sameinstant shown in FIG. 1B has two other vehicles within it—vehicle 110and vehicle 140.

Some or all of the vehicles within each swarm circle may have theonboard apparatus 1000 shown in FIG. 10, or an apparatus substantiallysimilar to or identical to the apparatus 1000 of FIG. 10. The computerprocessors of vehicles having identical or substantially similarapparatus 1000 may communicate with each other via high frequency radiocommunication or bluetooth devices which may be part oftransmitter/receiver 1014 of FIG. 10, and may follow the same protocolthrough computer programming of their computer processors and take acollective action to keep the inner regions of all those vehicles freeof any other vehicles. This constitutes an active swarming behavior.Moreover this decision making can be achieved across multiple swarmcircles as well.

For example, if vehicles 110, 120, 130, 140 all have an apparatus 1000or an apparatus substantially similar to or identical to apparatus 1000,vehicles 110 and 130 may decide the next best move is for vehicle 130 toslow down, in which case vehicle 130 requests vehicle 140 to slow down.This may be done by the computer processor 1006 of vehicle 130 causingthe transmitter/receiver 1014 to transmit a signal to a receiver portionof a transmitter/receiver on vehicle 140, which may be identical to1014. The vehicle 140 may have a computer processor similar to oridentical to computer processor 1006. The vehicle 140's computerprocessor (analagous to 1006) may process the signal received fromvehicle 130 and the vehicle 140 may cause a braking device ordeceleration device (analagous, substantially similar to, or identicalto 1018) to cause the vehicle 140 to slow down.

Thus, in the above example. the vehicle 110 has effectively (indirectlythrough computer processor of vehicle 130) asked vehicle 140 to slowdown across swarm circles, i.e. even though vehicle 140 is not in theswarm circle 112 of vehicle 110, vehicle 110 has indirectly (throughcomputer processor of vehicle 130) effectively asked vehicle 140 to slowdown. In this sense the group behavior and awareness exhibited byvehicles in a swarm are similar to a pack of wolves moving together, aflock of birds flying together, or a school of fish swimming together.In each case the collective behavior and their awareness generates theactive swarm concept. In the present context, the swarms are formeddynamically since the swarm will contain both incoming and outgoingvehicles with different speeds and directions and hence they aretogether only for short durations. A clocking system or device which maybe part of computer processor 1006 and analagous computer processors ineach vehicle updates the local scene and forms a current swarm ofvehicles, which may be stored in computer memory such as computer memory1010 and issues commands collectively, when applicable, to keep theinner regions of all those vehicles free of other objects.

In the event when some or all other vehicles in the current swarm arenot equipped with apparatus 1000 of one or more embodiments of thepresent invention, the computer processor, such as 1006, onboard thecurrent vehicle, such as for example vehicle 110, is programmed bycomputer software to issue commands to itself to make the appropriatemoves such as accelerate (and 1006 provides a signal to accelerator 1016to cause the vehicle 100 to accelerate) decelerate (and 1006 provides asignal to braking device 1018 to cause the vehicle 100 to decelerate)(and, turn left, turn right, and 1006 provides a signal to steeringcontrol 1020 to turn the current vehicle, on which 1006 is located, leftor right) so as to maintain its inner region, such as inner region 111,free of other moving vehicles. This constitutes the passive swarmingbehavior. As clocks are updated, some or all of the vehicles within theswarm circle 112 of vehicle 110 will move out of the swarm circle 112and new vehicles will enter and the above procedure is repeated eitherusing an active swarming method as described above where the computerprocessors on vehicles within a swarm circle communicate with each other(such as via transmitter/receiver 1014 and similar or identicaltransmitter/receivers on other vehicles) and make decisions to keep theinner regions of each vehicle free of other moving vehicles, or apassive swarming method where the computer processor within each vehiclemakes decisions about turning its vehicle (on which the particularcomputer processor is located) left or right to keep its own innerregion free of other moving vehicles, or a combination thereof whenapplicable.

FIG. 2 illustrates a diagram 200 of a vehicle 210, which has an onboardapparatus, such as onboard apparatus 1000 shown in FIG. 10, whichmeasures the distances and velocities of all other vehicles within itsswarm circle, for example by using a radar device, such as a radardevice which may be part of sensing device 1002.

FIG. 2 shows a diagram 200 illustrating the vehicle 210 traveling with avelocity U₂ and its swarm circle 211 and its inner region 212. The swarmcircle 211 has a radius r₆. The radius r₆ can vary depending on thelocation such as highways, or urban area and/or the vehicle speed. In acrowded urban setting, the radius r₆ may have a smaller value, such asseveral hundred meters whereas in an inter-state highway setting theradius r₆ may be several miles since the fewer vehicles there can betraveling at a faster speed compared to the urban area. The radius ofthese swarm circles will at times depend upon the number of vehiclesthat the onboard computer processor can handle; or may be decided bystandard protocols that dictate these radius to be a certain value inurban areas, and some other larger value in rural highway settings.Using GPS and other roadside means it is easy for the onboard computerto know exactly where it is at any time and hence can determine thevalue of the swarm radius to be used.

The diagram 200 includes vehicles 210, 220, 230, 250, and 260 all ofwhich are located in the swarm circle 211 of the vehicle 210 at theinstant shown. The vehicles 240 and 270 are outside of the swarm circle211.

Vehicles 210, 220, 230, and 240 move in substantially the same forwarddirection with velocities u₁, u₂, u₃ and u₄ respectively, whereasvehicles 250, 260, 270 move in substantially the same downwardsdirection, opposite the forward direction with velocities v₁, v₂ and v₃respectively. Moreover the computer processors (analagous to 1006) andsensing devices (analagous to 1002) onboard each vehicle (such asvehicle 210) track the distances x₁, x₂, x₃ to all vehicles within itsswarm circle through onboard distance sensing devices such as radars andstore these distances in computer memory (analagous to computer memory1010.

For the instant shown in FIG. 2, the distances tracked between vehicle210 and the other vehicles in its swarm 211, include: (a) the distance,X₁ between vehicle 210 and 220, (b) the distance, x₂, between vehicle210 and 230, (c) the distance, y₁ between vehicle 210 and 250, and (d)the distance, y₂, between vehicle 210 and 260. The distances (a) and (b)are distances between vehicle 210 and vehicles in its swarm circle 211that are travelling in substantially the same forward direction. Thedistances (c) and (d) are distances between vehicle 210 and vehicles inits swarm circle 211 that are travelling in substantially the samedownwards direction, opposite the forward direction.

The vehicles 210, 220, 230, and 240 may be travelling in thesubstantially same upwards direction with velocities u₁, u₂, u₃ and u₄,respectively. The vehicles 250, 260, and 270 may be travelling in thesubstantially same downwards direction with velocities v₁, v₂ and v₃respectively.

The computer processors of each vehicle (such as computer processor 1006of vehicle 210, for example) together with its sensing device (analagousto 1002) measure the locations and velocities of all vehicles usingonboard radar devices—similar to the one currently used in most of thepolice vehicles to determine the speed of other vehicles on theroad—within its swarm circle (such as swarm circle 211 for vehicle 210)at every instant and update this information at a specified clock ratethat is determined by the computer processor of the particular vehicle(such as processor 1006 of vehicle 210). In a crowded scene such as awell moving urban traffic in a nearby highway, updating the abovelocation and speed information about other vehicles within its swarmcircle can happen at a faster rate depending on a variety of factorssuch as (a) how many vehicles are present in the swarm circle at anyinstant, (b) the current location of the vehicle as determined by itsGPS coordinates; In the case of (a), if there are a larger numbercompared to the usual average number of vehicles in any swarm, then thecomputer processor 1006 alerts related devices such as 1014 and 1020 tocollect information at a faster clock rate, and take the appropriateactions also at a faster clock rate. If on the other hand, the number ofvehicles within the swarm circle are smaller than the average number ofvehicles, the computer processor 1006 slows down the data collectionrate by skipping some clock cycles periodically. Similarly if (b) isused to determine the clock rate, when the vehicle approaches a crowedcity such as New York or Los Angeles, the preloaded database will becross checked by the computer processor against its current GPS locationto determine the appropriate clock rate such as a faster rate in NewYork area vs. a slow rate in rural South Dakota.

FIG. 3 is a flow chart 300 of a routine or method that can beimplemented by computer processor 1006 as programmed by computersoftware in computer memory 1010 to enable the localized dynamicswarming of a single vehicle, such as vehicle 210 in FIG. 2.

At step 301 a clock of the computer processor of the particular vehicle,such as computer processor 1006 of the vehicle 210, is updated to countdown at a pre-determined rate that can vary depending on trafficconditions. In crowded urban situations the clock cycle duration can beset smaller than that in a remote highway setting. For example, in andaround a metropolitan area such as New York or Los Angeles, the clockrate at which sensing and decisions are made can be faster compared torural areas in South Dakota or New Jersey suburban towns on a Sundaymorning. Changing clock rate is physically achieved through the standardprocedure such as having the main clock in the computer run at a highrate such as a millisecond and then step it down to any desired ratesuch as every second or one-tenth of a second and so on. The set clockrate can also depend on the velocity of the parent vehicle, such asvehicle 210 in FIG. 2 or other vehicles (such as vehicles 220, 230, 250,and 260 within the swarm, such as swarm circle 211. If an incomingvehicle (such as vehicle 240 in the diagram 200) is approaching at anunusually high speed, the clock rate may be updated to be faster so asto track the new vehicle and make decisions accordingly. The primary jobof the onboard computer processors (such as computer processor 1006) andsensors (such as sensing device 1002) is to detect all vehicles withinits current swarm circle at step 302 shown in FIG. 3 on every clockcycle. If the other vehicles in the current swarm circle (such as swarmcircle 211) are equipped with the apparatus 1000, then communicationlinks between the primary vehicle (such as 210) and other vehicles (suchas 220, 230, 250 and 260) in the swarm circle 211 are established, suchas via transmitter portion of the transmitter/receiver 1014. Forexample, primary vehicle (such as 210) may send a communication with asteering command such as “move right” via transmitter/receiver 1014 to areceiver portion of a transmitter/receiver (analagous to 1014) ofvehicle 250. A computer processor (analagous to computer processor 1006)may processed the received signal from the transmitter/receiver of 250,and may cause an accelerator (analagous to 1016 to accelerate), abraking device (analagous to 1018) to slow a vehicle down, or a steeringcontrol (analagous to 1020) to steer the vehicle 250 in a particulardirection.

If no such communication made from vehicle 210 to other vehicles withinswarm 211 is acknowledged, (for example) vehicle 210 next applies allcorrections on its own vehicle 210 only. In the next step 304, theonboard computer processor (such as processor 1006) and sensing device1002 measure all distances using standard onboard radar distance sensingdevices of along-track and incoming vehicles within the swarm, such as211, along with the velocities and of along-track and incomingvelocities respectively for all vehicles within the current swarmcircle, such as 211. All velocities of vehicles within the swarm, suchas within swarm circle 211, are checked against local speed restrictionsavailable through onboard stored maps, such as stored in computer memory1010 and GPS location information from GPS device 1012 by the computeprocessor, such as 1006, as programmed by computer software stored incomputer memory 1010. This information is passed on to a minimumdistance control box, which may be part of the computer processor, suchas 1006, at step 305 that checks all distances against the inner regionradius for the particular vehicle, such as vehicle 210. If distances,and of the moving vehicles within the swarm 211 exceeds the minimumdistance requirement, then the computer processor, such as 1006, waitsfor the next clock update as shown in step 307. Otherwise theinformation about those vehicles not satisfying the above minimumdistance requirement is passed on to speed/steering control box of thecomputer processor such as 1006, at step 306 which takes appropriateaction in terms of speed adjustment or incremented automatic steering tomaintain the inner region free of any other vehicle within the swarm,such as 211, and waits for the next clock cycle update in 307.

FIG. 4 is a flow chart 400 of a minimum distance control method whichcan be implemented by the computer processor 1006 as programmed bycomputer software stored in computer memory 1010; to maintain the innerregion, such as inner region 112 associated with its primary vehicle,such as vehicle 210, free of other vehicles. The computer processor,such as 1006, uses the distances and of all other vehicles (such as 220,230, 250, and 260) within its swarm circle (such as 211) as the inputfor the computer processor, such as 1006, of the primary vehicle, suchas 210 and verifies at every clock cycle through step 402 whether theinequalities

x _(i) >r, i=1,2, . . .  (1)

and

y _(i) >r, i=1,2, . . .  (2)

are all satisfied for every. Here represents the minimum distance thatmust be maintained between every pair of moving vehicles. If all theinequalities are satisfied, then step 402 leads to step 403 and thecourse is maintained. If the above inequalities are not satisfied forany, then step 402 leads to step 404, where these indices and associatedvehicles are sorted out by the computer processor 1006 in the computermemory, such as 1010 along with their current locations. The differenceand corresponding to these identified vehicles are the excess amount bywhich then vehicles encroach in to the inner region of the vehicleassociated with the computer processor, such as 1006. The locations andexcess distances by which the other vehicles have come into the innerregion of the current vehicle, such as 210, are used to decide whetherthe current vehicle, such as 210, should move to the right left, frontor back by a certain amount and/or if the speed should be adjusted by acertain amount to facilitate the changes or a combination there of. Therecommended move along with the location information for all thevehicles, such as 220, 230, 250, and 260 within its swarm circle 211 arepassed on to the a speed/steering control of the computer processor1006.

FIG. 5 is a flow chart 500 of a speed/steering control method which canbe implemented by the computer processor 1006 as programmed by computersoftware stored in computer memory 1010.

The flow chart 500 is of a routine that enables the computer processor,such as 1006, to perform the necessary steering control (right, left,such as through steering control 1020 shown in FIG. 10) or motion(forward, backward, such as through forward or backward control 1022)and/or speed adjustment (such as through devices 1016 and 1018 of FIG.10) to maintain the inner region, such as 212 associated with itsvehicle, such as 210, free of other vehicles. For every clock cycle of aclock of computer processor 1006, the computer processor 1006 isprogrammed to check at step 501 which movements are allowed. For exampleif the vehicle, such as 210, is on an inner lane on a two lane highwaythen obviously “move left” is not allowed, and all other moves areacceptable so long as its inner region, such as inner region 212, isfree of other vehicles. However if there is a vehicle on the right laneadjacent to it, then a move to the right is also not allowed. In thatcase, the computer processor 1006 slows down the vehicle 210, by forexample sending a signal to the braking device 1018 to cause the vehicle210 to slow down, and then moves right effectively making the “move tothe right” motion.

Steps 511-524 lists various motion steps and their combination that maybe allowed by the computer processor 1006 at that particular clockcycle. In steps 511-524, “R” stands for “right”, “L” stands for “left”,“F” stands for “forward”, and “B” stands for “backward”. Depending onthe allowable moves, and the demand the computer processor 1006 uses alook up table stored in computer memory 1010 such as table 530 to makethe next move. For example, if a “move to the right” is requested by thecomputer processor 1006, and if step 519 are the only combination ofmoves allowed (i.e. “F” forward or “B” backwards), then the computerprocessor 1006 will slow down going backwards just enough to execute the“move to the right” command subsequently, either in the same clockcycle, or during the next clock cycle depending on the vehicle speed orthe primary vehicle, such as 210. If on the other hand, the computerprocessor 1006 determines at step 501 that no moves are allowed, thenstep 502 triggers step 503 that causes the computer processor 1006 tocommunicate with the other vehicles within its inner region, such asinner region 212, and instruct them to move, provided such acommunication link exists, such as through transmitter/receiver 1014 ofthe primary vehicle, such as vehicle 210 to another vehicle, such asvehicle 220. If not, as a last resort, automatic sound alarms, such asalarm device 1024 (such as honking) may be generated by the computerprocessor 1006 to alert the other drivers.

FIG. 6 is a flow chart 600 of a method which can be implemented by thecomputer processor 1006 as programmed by computer software stored incomputer memory 1010 to bring a moving vehicle, such as vehicle 210 inFIG. 2, to a complete stop at a red/yellow traffic light.

The flow chart 600 depicts a method or routine executed by the computerprocessor 1006 as programmed by computer software stored in the computermemory 1010 that enables the computer processor 1006 to perform safepassage for a vehicle, such as vehicle 210, through traffic lights.These lights may be equipped with light sensitive infra-red or similardevices to signal the Red/Yellow/Green lights. The onboard sensors orsensing device 1002 in FIG. 10, at step 601 detect traffic lights andmeasure the current distance to the lights. If the light is green, atstep 602, the computer processor 1006 gives the go ahead to maintain thecurrent course. If the light is yellow, at step 603, the computerprocessor 1006 requests a duration calculation at step 606. In thatcase, the computer processor 1006, at step 606, computes the ratio ofthe distance to traffic light to the vehicle speed of the vehicle 210,wherein the vehicle speed may be determined by the computer processor1006 from the speed detector 1026. If this ratio exceeds the yellowlight duration (five seconds or other similar number) then at step 607the computer processor 1006 checks, such as by seeing whether a signalalready was sent to see whether vehicle, such as 210, is alreadydecelerating to make a stop before the light is reached. The computerprocessor 1006 may determine that the vehicle 210 is decelerating bytaking one velocity or speed from the speed detector 1026 at one timeand another speed or velocity from the detector 1026 at another time anddetermining whether the vehicle 210 is accelerating or decelerating.

If the computer processor 1006 determines that the primary vehicle, suchas 210 is decelerating, no further action is taken in this routine, ifnot at step 608 the computer processor 1006 initiates a routine ormethod to bring the primary vehicle, such as 210 to a complete stopbefore the traffic light is reached. If the above ratio is less than theyellow light duration, no action is taken and at step 605, the computerprocessor 1006 causes the vehicle to maintain speed by sending theappropriate signals to either the accelerator or the braking device 1018as applicable. Finally if the light is red, at step 604, the computerprocessor 1006 conveys that information to a procedure at step 605 wherethe computer processor 1006 checks to see whether the primary vehicle,such as 210 is already decelerating to make a stop before the light isreached. If “Yes” no further action is taken; if no at step 608 thecomputer processor 1006 initiates a routine to bring the primaryvehicle, such as 210 to a complete stop before the traffic light isreached.

FIG. 7 shows a flow chart 700 of a method which can be implemented bythe computer processor 1006 as programmed by computer software stored incomputer memory 1010 to bring a moving vehicle, such as vehicle 210 inFIG. 2, to a complete stop at a “STOP” sign.

The flow chart 700 describes a method or routine that enables thecomputer processor 1006 of FIG. 10 to aid a vehicle, such as vehicle 210of FIG. 2, in getting safely through “STOP” signs. The “STOP” signs maybe equipped with special frequency sensors. Onboard sensors of sensingdevice 1002 in FIG. 10 on a vehicle, such as vehicle 210, detect the“STOP” sign and the distance, D, to it at step 701 and the computerprocessor 1006, is programmed by computer software to initiate a requestor request signal in response to sensing of the STOP sign by sensingdevice 1002, at step 702 to check whether the vehicle 210 isdecelerating to stop, such as checking speeds at different timesprovided by speed detector 1026, before reaching the stop sign. If “yes”(the vehicle 210 is decelerating) no further action is taken in thisroutine, by the computer processor 1006 at step 704. If not, at step703, the computer processor 1006 initiates a routine or method to stopthe vehicle 210 within appropriate distance of the STOP sign. Thecomputer processor 1006 may cause the braking device 1018 to stop thevehicle 210.

FIG. 8 shows a diagram 800 illustrating a typical road condition withseveral vehicles forming an active forward swarm and moving together asa pack with each vehicle having an onboard apparatus, similar oridentical to the apparatus 1000 shown in FIG. 10, measuring thedistances and velocities of all other vehicles within its swarm circleto maintain the minimum distance requirement.

The diagram 800 in FIG. 8 illustrates a multiple vehicle situation whereall vehicles within a closed region such as 801 are equipped with theproposed invention so that their onboard computer can communicate witheach other generating an active forward swarm. The diagram 800 showsroad boundaries 802, 803 and the dividing center line 804, as well asvehicles 810, 820, 830, 840 with their respective inner regions 811,821, 831, and 841. The onboard computer processor each vehicle (of 810,820, 830 and 840) (analagous to computer processor 1006) communicatewith the other computer processors of the other vehicles (of 810, 820,830, and 840) so that communication link 812 represents thecommunication link between vehicle 810 and vehicle 820, communicationlink 824 represents the communication link between vehicle 820 andvehicle 840, communication link 813 represents the communication linkbetween vehicle 810 and vehicle 830, communication link 823 representsthe communication link between vehicle 820 and vehicle 830, andcommunication link 814 represents the communication link between vehicle810 and vehicle 840.

In the case shown by FIG. 8, the vehicles 810, 820, 830, and 840 form a“forward swarm” mode, since they are travelling in substantially thesame direction, and can travel together as one pack through the road,each of 810, 820, 830, and 840 using its own apparatus, identical orsimilar to apparatus 1000 of FIG. 10, in one or more embodiments of thepresent invention. The behavior of the “forward swarm” or group ofvehicles will be similar to a “pack of wolves’ traveling together,avoiding collision by maintaining a minimum distance between all of thevehicles (810, 820, 830 and 840) using their respective onboard computerprocessors (analagous to 1006) and sensing devices (analagous to 1002).If all the vehicles are in the “forward swarm” mode as in FIG. 8, thenthey are synchronized to the speed of the lead vehicle or to that of thevehicle immediately in front of it, or the nearest vehicle in front ofit subject to the minimum distance requirement between vehiclesdescribed earlier. In the example of FIG. 8, the vehicle 820, which isin the “lead” in the direction in which the swarm of swarm circle 801 ismoving, is the lead vehicle. In this case, for vehicle 810, its nearestneighbor that is ahead of it, also happens to be the lead vehicle 820.However, for vehicle 830, the nearest neighbor that is immediately aheadof it is vehicle 810, and vehicle 830 may follow the lead of vehicle810.

If there are multiple lead vehicles, then a simple protocol or methodsuch as the “left lane vehicle has priority in establishing the cruisingspeed” is established in at least one embodiment by the computerprocessor 1006 or by a combination of computer processors analagous to1006 of all the vehicles in the swarm circle 801. This allows a chain ofvehicles all switched to “forward swarm” mode to travel togetherautomatically and in principle, the swarm circle 801 can be quite largeallowing a large number of vehicles to be part of the “forward swarm”pack. In practice the “forward swarm” pack of vehicles should follow asingle lane when two forward lanes are available, or form a two lanepack if more than two lanes are available for forward motion, so that ifa vehicle decides to get off the pack, it can move right and let thepack pass or accelerate away. The single line formation also allows thepack to move and pass other slowly moving vehicles on the highway, orlets other fast moving vehicles get past beyond the swarm that iscruising under the lead vehicle command.

FIG. 9 is a diagram 900 illustrating a typical road condition withseveral vehicles across multiple swarms are effectively coupled togetherto form a single pack. The diagram 900 shows swarm circles 910, 920, and930. Road boundaries 951, 950, and center dividing line 952 are alsoshown in FIG. 9. FIG. 9 also shows vehicles 915, 925, 935, 945, 955,965, 975, and 985. Communications link 917 (between vehicle 915 and935), communication link 916 (between vehicle 915 and 925),communication link 926 between vehicle 925 and 935), communication link936 (between vehicle 935 and 945), communication link 946 (betweenvehicle 945 and 955), communication link 938 (between vehicle 935 and965), communication link 947 (between vehicle 945 and 965),communication link 956 (between vehicle 955 and 965), communication link939 (between vehicle 935 and 955), communication link 967 (betweenvehicle 965 and 985), communication link 966 (between vehicle 965 and975), communication link 976 (between vehicle 975 and 985) are alsoshown in FIG. 9. Each of the communication links may be between atransmitter/receiver, analagous to 1014 of FIG. 10 of one vehicle and atransmitter/receiver, analagous to 1014 of FIG. 10 of another vehicle.

The diagram 900 illustrates a multiple vehicle situation moving alongsubstantially the same direction where vehicles across overlappingswarms are coupled together to synchronize and move at the same speed toform an “active forward swarm (AFS)”. For example, swarm or swarm circle910 overlaps with swarm or swarm circle 920. Vehicle 935 is in bothswarm circles 910 and 920. In at least one embodiment vehicle 935 (whichis “across overlapping swarms”) is coupled or in communication withvehicle 925 (via communication link 926) in swarm 910 and is coupled orin communication with vehicle 945 (via communication link 936) in swarm920.

In addition to keeping the inner region of each vehicle, such as vehicle915, free of other vehicles, when the vehicles are in the AFS mode, theysynchronize their speed or velocity with their nearest forward neighbor(forward in the direction in which they are travelling), or theimmediate lead vehicle. In this concept, vehicle 925 has a swarm circlemarked 910, vehicle 955 has a swarm circle 920, and vehicle 975 has aswarm circle 930, wherein the swarm circles 910 and 920 overlap, theswarm circles 920 and 930 overlap, and the swarm circles 910 and 930 donot overlap. Vehicles 915 and 935 are within the swarm circle 910.Vehicles 935, 945 and 965 are within the swarm circle 920 of vehicle955. Similarly vehicles 965 and 985 are within the swarm circle 930 ofvehicle 975.

Vehicles 915, 925 and 935 within the swarm circle 910 communicate witheach other using the appropriate communication links of 916, 917 and926. Vehicles 935, 945, 955 and 965 within the swarm circle 920communicate with each other using the appropriate communication links of936, 937, 938, 946, 947 and 956. Similarly vehicles 965, 975 and 985within the swarm circle 930 communicate with each other using theappropriate communication links of 966, 977 and 976. Thus, in effectvehicle 915 in swarm circle or region 910 is connected via communicationlinks to vehicle 985 in swarm circle or region 930, although those twoswarm circles or regions are not overlapping. The communication willinclude each vehicle in the swarm recognizing all other vehicles andsynchronizing each vehicle speed to match their immediate leadneighbor's speed. Thus, vehicle 955 will match the speed of itsimmediate lead vehicle 945, whereas vehicle 945 will match the speed ofvehicle 935, while maintaining all other minimum distance requirementsamong vehicles as described earlier. If by unavoidable circumstances,such as vehicle 965 slowing down or getting off the swarm, the swarmcircle 930 ceases to overlap with the swarm circles 910 and 920. In thatcase, the active forward swarm shrinks to those vehicles within the towoverlapping swarm circles 910 and 920 only, and vehicles within 930forms another swarm or eventually may catch up with 910 and 920 forminganother active forward swarm. Similarly other vehicles can join or leavethe active forward swarm shown in FIG. 9 at any time after appropriatelywarning other members in that active swarm. The active forward swarm isa dynamic ever evolving entity that accepts and lets go moving vehiclesin and out of the swarm while moving as a pack forward and maintainingthe minimum distance requirement within each of the inner circles of thevehicles within the swarm.

Although the invention has been described by reference to particularillustrative embodiments thereof, many changes and modifications of theinvention may become apparent to those skilled in the art withoutdeparting from the spirit and scope of the invention. It is thereforeintended to include within this patent all such changes andmodifications as may reasonably and properly be included within thescope of the present invention's contribution to the art.

I claim:
 1. A method comprising using a first computer processor on a first vehicle to cause a first communication signal to be transmitted from the first vehicle to a second computer processor on a second vehicle; wherein the first communication signal provides a first instruction to the second vehicle to move in a first manner; and further comprising using the second computer processor on the second vehicle to cause the second vehicle to move in the first manner in response to the first instruction.
 2. A method comprising using a first computer processor on a first vehicle to communicate with a second computer processor on a second vehicle; and using a common pre-determined protocol as programmed by computer software to decide a combined movement of the first vehicle and the second vehicle based on the communication of the first computer processor on the first vehicle with the second computer processor on the second vehicle.
 3. The method of claim 1 wherein the first instruction to the second vehicle to move in the first manner instructs the second vehicle to slow down.
 4. The method of claim 1 wherein the transmitting of the first communication signal from the first vehicle to the second computer processor on the second vehicle is done after and only if the first computer processor determines that the first vehicle is not allowed to move in a second manner.
 5. The method of claim 2 wherein the combined movement of the first vehicle and the second vehicle is determined so as to maintain an inner region for each of the first vehicle and the second vehicle free from the other vehicle of the first and the second vehicle and free from any other vehicle.
 6. The method of claim 5 wherein the inner region of the first vehicle is an elliptical area having its center as the center of the first vehicle; and wherein the inner region of the second vehicle is an elliptical area having its center as the center of the second vehicle.
 7. A method comprising using communications between a first computer processor on a first vehicle and a second computer processor on a second vehicle to synchronize a speed of the first vehicle to be about equal to a speed of the second vehicle subject to a minimum distance requirement between the first vehicle and the second vehicle.
 8. The method of claim 7 further comprising using communications between a third computer processor on a third vehicle and the second computer processor on the second vehicle to synchronize a speed of the third vehicle to be about equal to a speed of the second vehicle subject to a minimum distance requirement between the third vehicle and the second vehicle; wherein communications, if any, between the first computer processor and the third computer processor are not used to synchronize the speed of the third vehicle to be about equal the speed of the second vehicle subject to the minimum distance requirement between the third vehicle and the second vehicle.
 9. The method of claim 1 wherein the first instruction to the second vehicle to move in the first manner instructs the second vehicle to accelerate.
 10. The method of claim 1 wherein the first instruction to the second vehicle to move in the first manner instructs the second vehicle to change direction of movement of the second vehicle.
 11. The method of claim 7 wherein the second vehicle and the first vehicle are travelling on the same road, and in substantially the same direction; and the second vehicle is ahead of the first vehicle on the road.
 12. An apparatus comprising a first computer processor located on a first vehicle; a second computer processor located on a second vehicle; wherein the first computer processor is programmed to: cause a first communication signal to be transmitted from the first vehicle to the second computer processor on the second vehicle; wherein the first communication signal provides a first instruction to the second vehicle to move in a first manner; and wherein the second computer processor is programmed to cause the second vehicle to move in the first manner in response to the first instruction.
 13. An apparatus comprising a first computer processor located on a first vehicle; a second computer processor located on a second vehicle; wherein the first computer processor is programmed to communicate with the second computer processor; and wherein the first and the second computer processors are programmed to use a common pre-determined protocol as programmed by computer software to decide a combined movement of the first vehicle and the second vehicle based on the communication of the first computer processor on the first vehicle with the second computer processor on the second vehicle.
 14. The apparatus of claim 12 wherein the first instruction to the second vehicle to move in the first manner instructs the second vehicle to slow down.
 15. The apparatus of claim 12 wherein the transmitting of the first communication signal from the first vehicle to the second computer processor on the second vehicle is done after and only if the first computer processor determines that the first vehicle is not allowed to move in a second manner.
 16. The apparatus of claim 13 wherein the combined movement of the first vehicle and the second vehicle is determined so as to maintain an inner region for each of the first vehicle and the second vehicle free from the other vehicle of the first and the second vehicle and free from any other vehicle.
 17. The apparatus of claim 16 wherein the inner region of the first vehicle is an elliptical area having its center as the center of the first vehicle; and wherein the inner region of the second vehicle is an elliptical area having its center as the center of the second vehicle.
 18. An apparatus comprising: a first computer processor on a first vehicle; a second computer processor on a second vehicle; and wherein the first computer processor and the second computer processor are programmed to use communications between the first computer processor and the second computer processor to synchronize a speed of the first vehicle to be about equal to a speed of the second vehicle subject to a minimum distance requirement between the first vehicle and the second vehicle.
 19. The apparatus of claim 18 further comprising a third computer processor on a third vehicle; wherein the second computer processor on the second vehicle and the third computer processor on the third vehicle are programmed to use communications between the third computer processor and the second computer processor to synchronize a speed of the third vehicle to be about equal to a speed of the second vehicle subject to a minimum distance requirement between the third vehicle and the second vehicle; and wherein communications, if any, between the first computer processor and the third computer processor are not used to synchronize the speed of the third vehicle to be about equal the speed of the second vehicle subject to the minimum distance requirement between the third vehicle and the second vehicle.
 20. The apparatus of claim 12 wherein the first instruction to the second vehicle to move in the first manner instructs the second vehicle to accelerate.
 21. The apparatus of claim 12 wherein the first instruction to the second vehicle to move in the first manner instructs the second vehicle to change direction of movement of the second vehicle.
 22. The apparatus of claim 18 wherein the second vehicle and the first vehicle are travelling on the same road, and in substantially the same direction; and the second vehicle is ahead of the first vehicle on the road.
 23. The method of claim 1 wherein the first instruction to the second vehicle to move in the first manner instructs the second vehicle to steer the second vehicle in a particular direction.
 24. The apparatus of claim 12 wherein the first instruction to the second vehicle to move in the first manner instructs the second vehicle to steer the second vehicle in a particular direction.
 25. A method comprising, detecting a state of a traffic light using a sensing device on a vehicle; wherein the traffic light is not part of the vehicle; wherein the state of the traffic light is either a first state in which the traffic light is green, a second state in which the traffic light is red, or a third state in which the traffic light is yellow; and further comprising measuring a first distance from the vehicle to the traffic light; using a computer processor to determine a ratio of the first distance to a speed of the vehicle; and using a computer processor to cause the vehicle to come to a complete stop if the state of the vehicle is either the second state or the third state and based at least in part on the ratio of the first distance to the speed of the vehicle.
 26. A method comprising, detecting a stop sign using a sensing device on a vehicle; wherein the stop sign is not part of the vehicle; and further comprising determining whether the vehicle is decelerating; and using a computer processor to cause a braking device to stop the vehicle within a first distance of the stop sign if the vehicle is not decelerating. 